#include "cpu/exec/template-start.h"

#define instr jo
static void do_execute(){
    if(cpu.eflags.OF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jno
static void do_execute(){
    if(!cpu.eflags.OF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jb
static void do_execute(){
    if(cpu.eflags.CF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jnb
static void do_execute(){
    if(!cpu.eflags.CF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr je
static void do_execute(){
    if(cpu.eflags.ZF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jne
static void do_execute(){
    if(!cpu.eflags.ZF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jbe
static void do_execute(){
    if(cpu.eflags.CF||cpu.eflags.ZF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jnbe
static void do_execute(){
    if(!cpu.eflags.CF&&!cpu.eflags.ZF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr js
static void do_execute(){
    if(cpu.eflags.SF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jns
static void do_execute(){
    if(!cpu.eflags.SF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jp
static void do_execute(){
    if(cpu.eflags.PF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jnp
static void do_execute(){
    if(!cpu.eflags.PF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jl
static void do_execute(){
    if(cpu.eflags.SF!=cpu.eflags.OF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jnl
static void do_execute(){
    if(cpu.eflags.SF==cpu.eflags.OF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jle
static void do_execute(){
    if(cpu.eflags.SF!=cpu.eflags.OF||cpu.eflags.ZF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr
#define instr jnle
static void do_execute(){
    if(cpu.eflags.SF==cpu.eflags.OF&&!cpu.eflags.ZF){
        DATA_TYPE_S val = op_src->val;
        cpu.eip += val;
    }
    print_asm_template1();
}
make_instr_helper(i)
#if DATA_BYTE == 1 || DATA_BYTE == 4
make_instr_helper(si)
#endif
#undef instr

#include "cpu/exec/template-end.h"